<?php
session_start();
require ('../classes/Conf.php');
require ('../classes/ConnectionSecure.php');



$con = ConnectionSecure::getInstancia();
$con->conectar();

$logueado = true;
if (!isset($_SESSION['Username'])) {
    session_destroy();
    $logueado = false;
    header("Location: index.php");
} else {
    $conn = $con->getConexion();
    $rs = $conn->query("select * from usuario where Username='" . $_SESSION['Username'] . "'");
    $rs->data_seek(0);
    $datosUsuario = $rs->fetch_assoc();
    $con->desconectar();    
    require '../classes/Connection.php';
    require '../classes/Transacciones.php';

    if (TRUE) {





        if (isset($_FILES["FileInput"]) && $_FILES["FileInput"]["error"] == UPLOAD_ERR_OK) {

            $UploadDirectory = 'C:/xampp/htdocs/bancochevere/files/uploads/';

            if (!isset($_SERVER['HTTP_X_REQUESTED_WITH'])) {
                die();
            }
            if (!isset($_POST['token'])) {
                die("No has ingresado un token!");
            }

            $idusuario = trim($datosUsuario['id']);
            $config = new Conf();
            if ($config->getTokenIdusuario($idusuario) != $_POST['token']) {
                die('El token ingresado es incorrecto');
                return;
            }

            if ($_FILES["FileInput"]["size"] > 5242880) {
                die("El archivo es demasiado grande!");
            }


            switch (strtolower($_FILES['FileInput']['type'])) {
                case 'text/plain':
                    break;
                default:
                    die('Formato de archivo incorrecto!'); //output error
            }

            $File_Name = strtolower($_FILES['FileInput']['name']);
            $File_Ext = substr($File_Name, strrpos($File_Name, '.'));
            $Random_Number = rand(0, 9999999999);
            $NewFileName = $Random_Number . $File_Ext;

            if (move_uploaded_file($_FILES['FileInput']['tmp_name'], $UploadDirectory . $NewFileName)) {
                $handle = fopen($UploadDirectory . $NewFileName, "r");
                $objTransacciones = new Transacciones();
                $error = 0;




                echo "<table>";
                while (($data = fgetcsv($handle, 1000, ";")) != FALSE) {
                    if (isset($data[0])) {
                        if (!is_numeric($data[0])) {
                            //echo ('El valor  "' . $data[0] . '" no es un numero válido.<br/>');
                            $error = 1;
                        }
                    }
                    if (isset($data[0])) {
                        if (strcmp($objTransacciones->propietarioCuenta($data[0]), '-1') == 0) {
                            //echo ('la cuenta "' . $data[0] . '" no existe.<br/>');
                            $error = 1;
                        }
                    } else if (isset($data[2])) {
                        echo"<tr>";
                        echo "<td>Se ingresa en la cuenta: $data[0]</td><td>El monto: $data[1]</td><td>Por un valor de: $data[2]</td>";
                        echo "</tr>";
                    } else {
                        die("Contenido incorrecto, transaccion cancelada");
                        return;
                    }
                }
                echo "</table>";


                //   $objTransacciones->insertarTransaccion($entidad, $idpaga, $idaprueba, $aprobada, $monto);

                require '../classes/Usuarios.php';

                $objUsuario = new Usuarios();
                $idusuario = $objUsuario->idFromUsuario($_SESSION['Username']);





                if (strcmp($idusuario, '-1') == 0)
                    die("Error al intentar leer su nombre de usuario, transaccion cancelada");


                exec("fileProcessor\LectorArchivos.exe " . $UploadDirectory . $NewFileName . " " . $_SESSION['Username'], $log, $res);

             //   print_r($log);
               // echo "---------------";
                if ($res == 0) {
                    echo "VALORES INCORRECTOS DETECTADOS";
                }
                if ($res == -2) {
                    echo "OPEN_FILE_ERROR";
                } if ($res == -3) {
                    echo "BAD_FORMAT_ERROR  ";
                } if ($res == -4) {
                    echo "TOKEN_NOT_VALID_ERROR ";
                }if ($res > 0) {
                    echo "Subida correcta, se subieron " . $res . " archivos";
                }
            } else {
                die('Error al subir el archivo');
            }
        } else {
            die('Ocurrio un error inesperado, por favor verifique que el archivo no sea demasiado grande?');
        }
    }
}